<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Flow-IPC: ipc::session::shm::classic::Session_impl&lt; Session_impl_t &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">Flow-IPC<span id="projectnumber">&#160;2.0.0</span>
   </div>
   <div id="projectbrief">Flow-IPC project: Full implementation reference.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceipc.html">ipc</a></li><li class="navelem"><a class="el" href="namespaceipc_1_1session.html">session</a></li><li class="navelem"><a class="el" href="namespaceipc_1_1session_1_1shm.html">shm</a></li><li class="navelem"><a class="el" href="namespaceipc_1_1session_1_1shm_1_1classic.html">classic</a></li><li class="navelem"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="#related">Related Functions</a> &#124;
<a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">ipc::session::shm::classic::Session_impl&lt; Session_impl_t &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Common data and logic for <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html" title="Core internally-used implementation of shm::classic::Server_session: it is to the latter what its pub...">shm::classic::Server_session_impl</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Client__session__impl.html" title="Core internally-used implementation of shm::classic::Client_session: it is to the latter what its pub...">shm::classic::Client_session_impl</a>.  
 <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ipc::session::shm::classic::Session_impl&lt; Session_impl_t &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl__inherit__graph.svg" width="150" height="131"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ipc::session::shm::classic::Session_impl&lt; Session_impl_t &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl__coll__graph.svg" width="1174" height="366"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ad0100f8bf97fe2d5dca929c1fe21fdaf"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad0100f8bf97fe2d5dca929c1fe21fdaf">Base</a> = <a class="el" href="classSession__impl__t.html">Session_impl_t</a></td></tr>
<tr class="memdesc:ad0100f8bf97fe2d5dca929c1fe21fdaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for base class.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad0100f8bf97fe2d5dca929c1fe21fdaf">More...</a><br /></td></tr>
<tr class="separator:ad0100f8bf97fe2d5dca929c1fe21fdaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5e80ccff3cef5028eb8d257104e7e6a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac5e80ccff3cef5028eb8d257104e7e6a">Session_base_obj</a> = typename Base::Session_base_obj</td></tr>
<tr class="memdesc:ac5e80ccff3cef5028eb8d257104e7e6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for <a class="el" href="classipc_1_1session_1_1Session__base.html" title="Internal type containing data and types common to internal types Server_session_impl and Client_sessi...">Session_base</a> super-class.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac5e80ccff3cef5028eb8d257104e7e6a">More...</a><br /></td></tr>
<tr class="separator:ac5e80ccff3cef5028eb8d257104e7e6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad88d76b7b2a0c78490b74dee6f8a510c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> = <a class="el" href="classipc_1_1shm_1_1classic_1_1Pool__arena.html">ipc::shm::classic::Pool_arena</a></td></tr>
<tr class="memdesc:ad88d76b7b2a0c78490b74dee6f8a510c"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">More...</a><br /></td></tr>
<tr class="separator:ad88d76b7b2a0c78490b74dee6f8a510c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fbc1569ee2b1962dd512ce6f4a01236"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a6fbc1569ee2b1962dd512ce6f4a01236">Structured_msg_builder_config</a> = typename transport::struc::shm::classic::Builder::Config</td></tr>
<tr class="memdesc:a6fbc1569ee2b1962dd512ce6f4a01236"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a6fbc1569ee2b1962dd512ce6f4a01236">More...</a><br /></td></tr>
<tr class="separator:a6fbc1569ee2b1962dd512ce6f4a01236"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a931f27521e1469cbbcbb3e2b79043f41"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a931f27521e1469cbbcbb3e2b79043f41">Structured_msg_reader_config</a> = typename transport::struc::shm::classic::Reader::Config</td></tr>
<tr class="memdesc:a931f27521e1469cbbcbb3e2b79043f41"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a931f27521e1469cbbcbb3e2b79043f41">More...</a><br /></td></tr>
<tr class="separator:a931f27521e1469cbbcbb3e2b79043f41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac989bb6d43a92b848e4da8d6730f91d8"><td class="memTemplParams" colspan="2">template&lt;typename Message_body &gt; </td></tr>
<tr class="memitem:ac989bb6d43a92b848e4da8d6730f91d8"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac989bb6d43a92b848e4da8d6730f91d8">Structured_channel</a> = <a class="el" href="namespaceipc_1_1transport_1_1struc_1_1shm_1_1classic.html#ac543b500a85f556564e592cbbefb6185">transport::struc::shm::classic::Channel</a>&lt; typename Base::Channel_obj, Message_body &gt;</td></tr>
<tr class="memdesc:ac989bb6d43a92b848e4da8d6730f91d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart for public description.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac989bb6d43a92b848e4da8d6730f91d8">More...</a><br /></td></tr>
<tr class="separator:ac989bb6d43a92b848e4da8d6730f91d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ee88920a4690fcf91ee59b9faad6323"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0ee88920a4690fcf91ee59b9faad6323">Blob</a> = <a class="el" href="classipc_1_1shm_1_1classic_1_1Pool__arena.html#a72867ce6e363dbc1ab1666768d8a7a09">Arena::Blob</a></td></tr>
<tr class="memdesc:a0ee88920a4690fcf91ee59b9faad6323"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for a light-weight blob used in <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9d970e1fd44cf7932d4160e26a45fa6c" title="See shm::classic::Session_mv counterpart.">borrow_object()</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3fec4d70c742570ea8699cdc13b29108" title="See shm::classic::Session_mv counterpart.">lend_object()</a>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0ee88920a4690fcf91ee59b9faad6323">More...</a><br /></td></tr>
<tr class="separator:a0ee88920a4690fcf91ee59b9faad6323"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0bb9a7c360c4c55af64bfd84f1b365da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da">session_shm</a> ()</td></tr>
<tr class="memdesc:a0bb9a7c360c4c55af64bfd84f1b365da"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da">More...</a><br /></td></tr>
<tr class="separator:a0bb9a7c360c4c55af64bfd84f1b365da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7c4c7d786124d3d147cbbe40844d817"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817">app_shm</a> ()</td></tr>
<tr class="memdesc:aa7c4c7d786124d3d147cbbe40844d817"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817">More...</a><br /></td></tr>
<tr class="separator:aa7c4c7d786124d3d147cbbe40844d817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fec4d70c742570ea8699cdc13b29108"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a3fec4d70c742570ea8699cdc13b29108"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0ee88920a4690fcf91ee59b9faad6323">Blob</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3fec4d70c742570ea8699cdc13b29108">lend_object</a> (const typename Arena::template Handle&lt; T &gt; &amp;handle)</td></tr>
<tr class="memdesc:a3fec4d70c742570ea8699cdc13b29108"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3fec4d70c742570ea8699cdc13b29108">More...</a><br /></td></tr>
<tr class="separator:a3fec4d70c742570ea8699cdc13b29108"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d970e1fd44cf7932d4160e26a45fa6c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a9d970e1fd44cf7932d4160e26a45fa6c"><td class="memTemplItemLeft" align="right" valign="top">Arena::template Handle&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9d970e1fd44cf7932d4160e26a45fa6c">borrow_object</a> (const <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0ee88920a4690fcf91ee59b9faad6323">Blob</a> &amp;serialization)</td></tr>
<tr class="memdesc:a9d970e1fd44cf7932d4160e26a45fa6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9d970e1fd44cf7932d4160e26a45fa6c">More...</a><br /></td></tr>
<tr class="separator:a9d970e1fd44cf7932d4160e26a45fa6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71db443eea0ebb1ce52e65866f139a32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a6fbc1569ee2b1962dd512ce6f4a01236">Structured_msg_builder_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a71db443eea0ebb1ce52e65866f139a32">session_shm_builder_config</a> ()</td></tr>
<tr class="memdesc:a71db443eea0ebb1ce52e65866f139a32"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a71db443eea0ebb1ce52e65866f139a32">More...</a><br /></td></tr>
<tr class="separator:a71db443eea0ebb1ce52e65866f139a32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3edd578b984fbeeebafe4881a7f8126c"><td class="memItemLeft" align="right" valign="top">Structured_msg_builder_config::Builder::Session&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3edd578b984fbeeebafe4881a7f8126c">session_shm_lender_session</a> ()</td></tr>
<tr class="memdesc:a3edd578b984fbeeebafe4881a7f8126c"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3edd578b984fbeeebafe4881a7f8126c">More...</a><br /></td></tr>
<tr class="separator:a3edd578b984fbeeebafe4881a7f8126c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac74cff4dd441749ab4d93a7db99296d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a931f27521e1469cbbcbb3e2b79043f41">Structured_msg_reader_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac74cff4dd441749ab4d93a7db99296d9">session_shm_reader_config</a> ()</td></tr>
<tr class="memdesc:ac74cff4dd441749ab4d93a7db99296d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac74cff4dd441749ab4d93a7db99296d9">More...</a><br /></td></tr>
<tr class="separator:ac74cff4dd441749ab4d93a7db99296d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2977ea01c8fb259f0fe59a679c919669"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a6fbc1569ee2b1962dd512ce6f4a01236">Structured_msg_builder_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a2977ea01c8fb259f0fe59a679c919669">app_shm_builder_config</a> ()</td></tr>
<tr class="memdesc:a2977ea01c8fb259f0fe59a679c919669"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a2977ea01c8fb259f0fe59a679c919669">More...</a><br /></td></tr>
<tr class="separator:a2977ea01c8fb259f0fe59a679c919669"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a519342c3d278daf40603cf13c56036e7"><td class="memItemLeft" align="right" valign="top">Structured_msg_builder_config::Builder::Session&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a519342c3d278daf40603cf13c56036e7">app_shm_lender_session</a> ()</td></tr>
<tr class="memdesc:a519342c3d278daf40603cf13c56036e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a519342c3d278daf40603cf13c56036e7">More...</a><br /></td></tr>
<tr class="separator:a519342c3d278daf40603cf13c56036e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a282bd304d53a2fbd1d7f2968dc03943b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a931f27521e1469cbbcbb3e2b79043f41">Structured_msg_reader_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a282bd304d53a2fbd1d7f2968dc03943b">app_shm_reader_config</a> ()</td></tr>
<tr class="memdesc:a282bd304d53a2fbd1d7f2968dc03943b"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a282bd304d53a2fbd1d7f2968dc03943b">More...</a><br /></td></tr>
<tr class="separator:a282bd304d53a2fbd1d7f2968dc03943b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-types" name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:adfab6a0e4397664c48097f7d6218de1c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#adfab6a0e4397664c48097f7d6218de1c">Arena_ptr</a> = boost::movelib::unique_ptr&lt; <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> &gt;</td></tr>
<tr class="memdesc:adfab6a0e4397664c48097f7d6218de1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-hand for, basically, <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c" title="See shm::classic::Session_mv counterpart for public description.">Arena</a> that may not have been opened yet (and is therefore null).  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#adfab6a0e4397664c48097f7d6218de1c">More...</a><br /></td></tr>
<tr class="separator:adfab6a0e4397664c48097f7d6218de1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ad7b01ef2b4a8c14b9960b8be8891375b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad7b01ef2b4a8c14b9960b8be8891375b">init_shm_arenas</a> (<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#adfab6a0e4397664c48097f7d6218de1c">Arena_ptr</a> &amp;&amp;session_shm_not_null, <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> *app_shm_not_null)</td></tr>
<tr class="memdesc:ad7b01ef2b4a8c14b9960b8be8891375b"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be invoked at most once, sets the values returned by <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a> to non-null values replacing null values.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad7b01ef2b4a8c14b9960b8be8891375b">More...</a><br /></td></tr>
<tr class="separator:ad7b01ef2b4a8c14b9960b8be8891375b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01fd0a9f521e299b450cc844490c86a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a01fd0a9f521e299b450cc844490c86a9">reset_shm_arenas</a> ()</td></tr>
<tr class="memdesc:a01fd0a9f521e299b450cc844490c86a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undoes <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad7b01ef2b4a8c14b9960b8be8891375b" title="To be invoked at most once, sets the values returned by session_shm() and app_shm() to non-null value...">init_shm_arenas()</a>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a01fd0a9f521e299b450cc844490c86a9">More...</a><br /></td></tr>
<tr class="separator:a01fd0a9f521e299b450cc844490c86a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-types" name="pri-types"></a>
Private Types</h2></td></tr>
<tr class="memitem:a63121e8fcdcf00a50ebb64836b69a761"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a63121e8fcdcf00a50ebb64836b69a761">scope_id_t</a> = uint64_t</td></tr>
<tr class="memdesc:a63121e8fcdcf00a50ebb64836b69a761"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type used to encode the originating <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c" title="See shm::classic::Session_mv counterpart for public description.">Arena</a> in the <code>Blob</code> returned by <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9d970e1fd44cf7932d4160e26a45fa6c" title="See shm::classic::Session_mv counterpart.">borrow_object()</a> and taken by <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3fec4d70c742570ea8699cdc13b29108" title="See shm::classic::Session_mv counterpart.">lend_object()</a>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a63121e8fcdcf00a50ebb64836b69a761">More...</a><br /></td></tr>
<tr class="separator:a63121e8fcdcf00a50ebb64836b69a761"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:acbc2b9eee1e2317dd38b97aa1e3dca63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a6fbc1569ee2b1962dd512ce6f4a01236">Structured_msg_builder_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#acbc2b9eee1e2317dd38b97aa1e3dca63">shm_builder_config</a> (bool session_else_app_scope)</td></tr>
<tr class="memdesc:acbc2b9eee1e2317dd38b97aa1e3dca63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a71db443eea0ebb1ce52e65866f139a32" title="See shm::classic::Session_mv counterpart.">session_shm_builder_config()</a>, <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a2977ea01c8fb259f0fe59a679c919669" title="See shm::classic::Session_mv counterpart.">app_shm_builder_config()</a>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#acbc2b9eee1e2317dd38b97aa1e3dca63">More...</a><br /></td></tr>
<tr class="separator:acbc2b9eee1e2317dd38b97aa1e3dca63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5db285c5d95b6ec7689393cd894e2acb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a931f27521e1469cbbcbb3e2b79043f41">Structured_msg_reader_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a5db285c5d95b6ec7689393cd894e2acb">shm_reader_config</a> (bool session_else_app_scope)</td></tr>
<tr class="memdesc:a5db285c5d95b6ec7689393cd894e2acb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac74cff4dd441749ab4d93a7db99296d9" title="See shm::classic::Session_mv counterpart.">session_shm_reader_config()</a>, <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a282bd304d53a2fbd1d7f2968dc03943b" title="See shm::classic::Session_mv counterpart.">app_shm_reader_config()</a>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a5db285c5d95b6ec7689393cd894e2acb">More...</a><br /></td></tr>
<tr class="separator:a5db285c5d95b6ec7689393cd894e2acb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a3b7b7eb37270320a495a26303aaed2c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#adfab6a0e4397664c48097f7d6218de1c">Arena_ptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3b7b7eb37270320a495a26303aaed2c7">m_session_shm</a></td></tr>
<tr class="memdesc:a3b7b7eb37270320a495a26303aaed2c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3b7b7eb37270320a495a26303aaed2c7">More...</a><br /></td></tr>
<tr class="separator:a3b7b7eb37270320a495a26303aaed2c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5947156dd71df2c59346f0a85647d7f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a5947156dd71df2c59346f0a85647d7f2">m_app_shm</a> = {}</td></tr>
<tr class="memdesc:a5947156dd71df2c59346f0a85647d7f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a5947156dd71df2c59346f0a85647d7f2">More...</a><br /></td></tr>
<tr class="separator:a5947156dd71df2c59346f0a85647d7f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-attribs" name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a23f2bf8994ed861b90665f967a51e7e6"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a63121e8fcdcf00a50ebb64836b69a761">scope_id_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a23f2bf8994ed861b90665f967a51e7e6">S_SCOPE_ID_SESSION</a> = 0x01</td></tr>
<tr class="memdesc:a23f2bf8994ed861b90665f967a51e7e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a>-&gt;construct()</code> was used.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a23f2bf8994ed861b90665f967a51e7e6">More...</a><br /></td></tr>
<tr class="separator:a23f2bf8994ed861b90665f967a51e7e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07f27fbd7064b50f859d5717fbf75c8e"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a63121e8fcdcf00a50ebb64836b69a761">scope_id_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a07f27fbd7064b50f859d5717fbf75c8e">S_SCOPE_ID_APP</a> = 0x02</td></tr>
<tr class="memdesc:a07f27fbd7064b50f859d5717fbf75c8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a>-&gt;construct()</code> was used.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a07f27fbd7064b50f859d5717fbf75c8e">More...</a><br /></td></tr>
<tr class="separator:a07f27fbd7064b50f859d5717fbf75c8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="related" name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p >(Note that these are not member functions.) </p>
</td></tr>
<tr class="memitem:a9e281c0e15ff899034ca059aa9e0e4f6"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </td></tr>
<tr class="memitem:a9e281c0e15ff899034ca059aa9e0e4f6"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9e281c0e15ff899034ca059aa9e0e4f6">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; &amp;val)</td></tr>
<tr class="memdesc:a9e281c0e15ff899034ca059aa9e0e4f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html" title="Common data and logic for shm::classic::Server_session_impl and shm::classic::Client_session_impl.">Session_impl</a></code> to the given <code>ostream</code>.  <a href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9e281c0e15ff899034ca059aa9e0e4f6">More...</a><br /></td></tr>
<tr class="separator:a9e281c0e15ff899034ca059aa9e0e4f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a>&gt;<br />
class ipc::session::shm::classic::Session_impl&lt; Session_impl_t &gt;</div><p >Common data and logic for <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html" title="Core internally-used implementation of shm::classic::Server_session: it is to the latter what its pub...">shm::classic::Server_session_impl</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Client__session__impl.html" title="Core internally-used implementation of shm::classic::Client_session: it is to the latter what its pub...">shm::classic::Client_session_impl</a>. </p>
<p >SHM-classic is such that the two sides are exactly the same, once the two <a class="el" href="classipc_1_1shm_1_1classic_1_1Pool__arena.html" title="A SHM-classic interface around a single SHM pool with allocation-algorithm services by boost....">shm::classic::Pool_arena</a> handles have been set up. So that stuff that is all the same is here in this internally-used super-class of the 2 <code>*_impl</code>. The latter add the initial assignment of the two arena handles and, relatedly, the client/server-specific APIs (e.g., <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Client__session__impl.html#a100541ab213d66e23684d8041f8462c6" title="See Client_session_mv counterpart.">Client_session_impl::sync_connect()</a>).</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname"><a class="el" href="classSession__impl__t.html">Session_impl_t</a></td><td>Our base that our sub-class wants to build on-top-of. E.g., <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html" title="Core internally-used implementation of shm::classic::Server_session: it is to the latter what its pub...">Server_session_impl</a>&lt;...&gt;</code>. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00043">43</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="ad88d76b7b2a0c78490b74dee6f8a510c" name="ad88d76b7b2a0c78490b74dee6f8a510c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad88d76b7b2a0c78490b74dee6f8a510c">&#9670;&nbsp;</a></span>Arena</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Arena =  <a class="el" href="classipc_1_1shm_1_1classic_1_1Pool__arena.html">ipc::shm::classic::Pool_arena</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart for public description. </p>
<p >Internally: Short-hand for handle to <code>classic</code> single-SHM-pool arena; which we acquire in create-only mode (must not yet exist) in the case of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3b7b7eb37270320a495a26303aaed2c7" title="See session_shm().">m_session_shm</a>, open-only mode (must already exist) for <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a5947156dd71df2c59346f0a85647d7f2" title="See app_shm().">m_app_shm</a>. Its main relevant things are: <code>construct&lt;T&gt;</code> (returns <code>shared_ptr&lt;T&gt;</code>, garbage-collected including cross-process); and integration with STL-compliant <a class="el" href="namespaceipc_1_1shm_1_1stl.html" title="ipc::shm sub-module providing integration between STL-compliant components (including containers) and...">ipc::shm::stl</a> allocator(s).</p>
<p >In this SHM provider, this <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c" title="See shm::classic::Session_mv counterpart for public description.">Arena</a> object is also the "session" object; meaning it is the per-session thingie capable of <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3fec4d70c742570ea8699cdc13b29108" title="See shm::classic::Session_mv counterpart.">lend_object()</a></code> (prepare to transmit to opposing conversant) and <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9d970e1fd44cf7932d4160e26a45fa6c" title="See shm::classic::Session_mv counterpart.">borrow_object()</a></code> (accept the same). </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00067">67</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="adfab6a0e4397664c48097f7d6218de1c" name="adfab6a0e4397664c48097f7d6218de1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfab6a0e4397664c48097f7d6218de1c">&#9670;&nbsp;</a></span>Arena_ptr</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Arena_ptr =  boost::movelib::unique_ptr&lt;<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a>&gt;</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Short-hand for, basically, <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c" title="See shm::classic::Session_mv counterpart for public description.">Arena</a> that may not have been opened yet (and is therefore null). </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00164">164</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="ad0100f8bf97fe2d5dca929c1fe21fdaf" name="ad0100f8bf97fe2d5dca929c1fe21fdaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0100f8bf97fe2d5dca929c1fe21fdaf">&#9670;&nbsp;</a></span>Base</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Base =  <a class="el" href="classSession__impl__t.html">Session_impl_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Short-hand for base class. </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00049">49</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a0ee88920a4690fcf91ee59b9faad6323" name="a0ee88920a4690fcf91ee59b9faad6323"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ee88920a4690fcf91ee59b9faad6323">&#9670;&nbsp;</a></span>Blob</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Blob =  <a class="el" href="classipc_1_1shm_1_1classic_1_1Pool__arena.html#a72867ce6e363dbc1ab1666768d8a7a09">Arena::Blob</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alias for a light-weight blob used in <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9d970e1fd44cf7932d4160e26a45fa6c" title="See shm::classic::Session_mv counterpart.">borrow_object()</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3fec4d70c742570ea8699cdc13b29108" title="See shm::classic::Session_mv counterpart.">lend_object()</a>. </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00081">81</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a63121e8fcdcf00a50ebb64836b69a761" name="a63121e8fcdcf00a50ebb64836b69a761"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63121e8fcdcf00a50ebb64836b69a761">&#9670;&nbsp;</a></span>scope_id_t</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::scope_id_t =  uint64_t</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Type used to encode the originating <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c" title="See shm::classic::Session_mv counterpart for public description.">Arena</a> in the <code>Blob</code> returned by <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a9d970e1fd44cf7932d4160e26a45fa6c" title="See shm::classic::Session_mv counterpart.">borrow_object()</a> and taken by <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3fec4d70c742570ea8699cdc13b29108" title="See shm::classic::Session_mv counterpart.">lend_object()</a>. </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00190">190</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="ac5e80ccff3cef5028eb8d257104e7e6a" name="ac5e80ccff3cef5028eb8d257104e7e6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5e80ccff3cef5028eb8d257104e7e6a">&#9670;&nbsp;</a></span>Session_base_obj</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Session_base_obj =  typename Base::Session_base_obj</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Short-hand for <a class="el" href="classipc_1_1session_1_1Session__base.html" title="Internal type containing data and types common to internal types Server_session_impl and Client_sessi...">Session_base</a> super-class. </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00052">52</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="ac989bb6d43a92b848e4da8d6730f91d8" name="ac989bb6d43a92b848e4da8d6730f91d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac989bb6d43a92b848e4da8d6730f91d8">&#9670;&nbsp;</a></span>Structured_channel</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<div class="memtemplate">
template&lt;typename Message_body &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Structured_channel =  <a class="el" href="namespaceipc_1_1transport_1_1struc_1_1shm_1_1classic.html#ac543b500a85f556564e592cbbefb6185">transport::struc::shm::classic::Channel</a>&lt;typename Base::Channel_obj, Message_body&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart for public description. </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00077">77</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a6fbc1569ee2b1962dd512ce6f4a01236" name="a6fbc1569ee2b1962dd512ce6f4a01236"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fbc1569ee2b1962dd512ce6f4a01236">&#9670;&nbsp;</a></span>Structured_msg_builder_config</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Structured_msg_builder_config =  typename transport::struc::shm::classic::Builder::Config</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart for public description. </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00070">70</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a931f27521e1469cbbcbb3e2b79043f41" name="a931f27521e1469cbbcbb3e2b79043f41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a931f27521e1469cbbcbb3e2b79043f41">&#9670;&nbsp;</a></span>Structured_msg_reader_config</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Structured_msg_reader_config =  typename transport::struc::shm::classic::Reader::Config</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart for public description. </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00073">73</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa7c4c7d786124d3d147cbbe40844d817" name="aa7c4c7d786124d3d147cbbe40844d817"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7c4c7d786124d3d147cbbe40844d817">&#9670;&nbsp;</a></span>app_shm()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">::Arena</a> * <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::app_shm</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </p>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00271">271</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a2977ea01c8fb259f0fe59a679c919669" name="a2977ea01c8fb259f0fe59a679c919669"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2977ea01c8fb259f0fe59a679c919669">&#9670;&nbsp;</a></span>app_shm_builder_config()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a6fbc1569ee2b1962dd512ce6f4a01236">::Structured_msg_builder_config</a> <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::app_shm_builder_config</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </p>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00392">392</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a519342c3d278daf40603cf13c56036e7" name="a519342c3d278daf40603cf13c56036e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a519342c3d278daf40603cf13c56036e7">&#9670;&nbsp;</a></span>app_shm_lender_session()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Structured_msg_builder_config::Builder::Session <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::app_shm_lender_session</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </p>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00399">399</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a282bd304d53a2fbd1d7f2968dc03943b" name="a282bd304d53a2fbd1d7f2968dc03943b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a282bd304d53a2fbd1d7f2968dc03943b">&#9670;&nbsp;</a></span>app_shm_reader_config()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a931f27521e1469cbbcbb3e2b79043f41">::Structured_msg_reader_config</a> <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::app_shm_reader_config</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </p>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00406">406</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a9d970e1fd44cf7932d4160e26a45fa6c" name="a9d970e1fd44cf7932d4160e26a45fa6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d970e1fd44cf7932d4160e26a45fa6c">&#9670;&nbsp;</a></span>borrow_object()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Arena::template Handle&lt; T &gt; <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::borrow_object </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0ee88920a4690fcf91ee59b9faad6323">Blob</a> &amp;&#160;</td>
          <td class="paramname"><em>serialization</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">serialization</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00319">319</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="ad7b01ef2b4a8c14b9960b8be8891375b" name="ad7b01ef2b4a8c14b9960b8be8891375b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7b01ef2b4a8c14b9960b8be8891375b">&#9670;&nbsp;</a></span>init_shm_arenas()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::init_shm_arenas </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#adfab6a0e4397664c48097f7d6218de1c">Arena_ptr</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>session_shm_not_null</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a> *&#160;</td>
          <td class="paramname"><em>app_shm_not_null</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>To be invoked at most once, sets the values returned by <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a> and <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a> to non-null values replacing null values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session_shm_not_null</td><td>Value for <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a>. The arg is nullfied by the method (via move()). </td></tr>
    <tr><td class="paramname">app_shm_not_null</td><td>Value for <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a>. The pointee must stay alive until <code>*this</code> is destroyed. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00248">248</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a3fec4d70c742570ea8699cdc13b29108" name="a3fec4d70c742570ea8699cdc13b29108"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fec4d70c742570ea8699cdc13b29108">&#9670;&nbsp;</a></span>lend_object()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0ee88920a4690fcf91ee59b9faad6323">::Blob</a> <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::lend_object </td>
          <td>(</td>
          <td class="paramtype">const typename Arena::template Handle&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>handle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00279">279</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a01fd0a9f521e299b450cc844490c86a9" name="a01fd0a9f521e299b450cc844490c86a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01fd0a9f521e299b450cc844490c86a9">&#9670;&nbsp;</a></span>reset_shm_arenas()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::reset_shm_arenas</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Undoes <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad7b01ef2b4a8c14b9960b8be8891375b" title="To be invoked at most once, sets the values returned by session_shm() and app_shm() to non-null value...">init_shm_arenas()</a>. </p>
<p >Intended as of this writing as a one-time resource clean in case of subsequent failure. </p><dl class="section warning"><dt>Warning</dt><dd>Since <code>*this</code> class (not speaking of sub-class) does not own <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a>'s pointee, that pointee is <em>not</em> destroyed. That is the caller's responsibility. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00258">258</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a0bb9a7c360c4c55af64bfd84f1b365da" name="a0bb9a7c360c4c55af64bfd84f1b365da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bb9a7c360c4c55af64bfd84f1b365da">&#9670;&nbsp;</a></span>session_shm()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">::Arena</a> * <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::session_shm</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </p>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00265">265</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a71db443eea0ebb1ce52e65866f139a32" name="a71db443eea0ebb1ce52e65866f139a32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71db443eea0ebb1ce52e65866f139a32">&#9670;&nbsp;</a></span>session_shm_builder_config()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a6fbc1569ee2b1962dd512ce6f4a01236">::Structured_msg_builder_config</a> <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::session_shm_builder_config</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </p>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00371">371</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a3edd578b984fbeeebafe4881a7f8126c" name="a3edd578b984fbeeebafe4881a7f8126c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3edd578b984fbeeebafe4881a7f8126c">&#9670;&nbsp;</a></span>session_shm_lender_session()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::Structured_msg_builder_config::Builder::Session <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::session_shm_lender_session</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </p>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00378">378</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="ac74cff4dd441749ab4d93a7db99296d9" name="ac74cff4dd441749ab4d93a7db99296d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac74cff4dd441749ab4d93a7db99296d9">&#9670;&nbsp;</a></span>session_shm_reader_config()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a931f27521e1469cbbcbb3e2b79043f41">::Structured_msg_reader_config</a> <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::session_shm_reader_config</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </p>
<dl class="section return"><dt>Returns</dt><dd>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__mv.html" title="Implements the SHM-related API common to shm::classic::Server_session and shm::classic::Client_sessio...">shm::classic::Session_mv</a> counterpart. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00385">385</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="acbc2b9eee1e2317dd38b97aa1e3dca63" name="acbc2b9eee1e2317dd38b97aa1e3dca63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbc2b9eee1e2317dd38b97aa1e3dca63">&#9670;&nbsp;</a></span>shm_builder_config()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a6fbc1569ee2b1962dd512ce6f4a01236">::Structured_msg_builder_config</a> <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::shm_builder_config </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>session_else_app_scope</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implementation of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a71db443eea0ebb1ce52e65866f139a32" title="See shm::classic::Session_mv counterpart.">session_shm_builder_config()</a>, <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a2977ea01c8fb259f0fe59a679c919669" title="See shm::classic::Session_mv counterpart.">app_shm_builder_config()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session_else_app_scope</td><td>Whether you want <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a> or <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a> to back the serialization. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>See above. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00356">356</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a5db285c5d95b6ec7689393cd894e2acb" name="a5db285c5d95b6ec7689393cd894e2acb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5db285c5d95b6ec7689393cd894e2acb">&#9670;&nbsp;</a></span>shm_reader_config()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;<a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a931f27521e1469cbbcbb3e2b79043f41">::Structured_msg_reader_config</a> <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::shm_reader_config </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>session_else_app_scope</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implementation of <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ac74cff4dd441749ab4d93a7db99296d9" title="See shm::classic::Session_mv counterpart.">session_shm_reader_config()</a>, <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a282bd304d53a2fbd1d7f2968dc03943b" title="See shm::classic::Session_mv counterpart.">app_shm_reader_config()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session_else_app_scope</td><td>Whether you want <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a> or <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a> to back the serialization. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>See above. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00364">364</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a9e281c0e15ff899034ca059aa9e0e4f6" name="a9e281c0e15ff899034ca059aa9e0e4f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e281c0e15ff899034ca059aa9e0e4f6">&#9670;&nbsp;</a></span>operator&lt;&lt;()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream &amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html" title="Common data and logic for shm::classic::Server_session_impl and shm::classic::Client_session_impl.">Session_impl</a></code> to the given <code>ostream</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>Stream to which to write. </td></tr>
    <tr><td class="paramname">val</td><td>Object to serialize. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>os</code>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00412">412</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a5947156dd71df2c59346f0a85647d7f2" name="a5947156dd71df2c59346f0a85647d7f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5947156dd71df2c59346f0a85647d7f2">&#9670;&nbsp;</a></span>m_app_shm</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c">Arena</a>* <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::m_app_shm = {}</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a>. </p>
<p >This becomes non-null, together with <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3b7b7eb37270320a495a26303aaed2c7" title="See session_shm().">m_session_shm</a>, via assignment at most once via <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad7b01ef2b4a8c14b9960b8be8891375b" title="To be invoked at most once, sets the values returned by session_shm() and app_shm() to non-null value...">init_shm_arenas()</a>. However, unlike <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a3b7b7eb37270320a495a26303aaed2c7" title="See session_shm().">m_session_shm</a>, this is a raw pointer: this allows for one <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad88d76b7b2a0c78490b74dee6f8a510c" title="See shm::classic::Session_mv counterpart for public description.">Arena</a> to be shared among multiple <code>*this</code>s (which is essential on the server side; i.e., for <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Server__session__impl.html" title="Core internally-used implementation of shm::classic::Server_session: it is to the latter what its pub...">shm::classic::Server_session_impl</a>). </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00233">233</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a3b7b7eb37270320a495a26303aaed2c7" name="a3b7b7eb37270320a495a26303aaed2c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b7b7eb37270320a495a26303aaed2c7">&#9670;&nbsp;</a></span>m_session_shm</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#adfab6a0e4397664c48097f7d6218de1c">Arena_ptr</a> <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::m_session_shm</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>See <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a>. </p>
<p >This becomes non-null, together with <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a5947156dd71df2c59346f0a85647d7f2" title="See app_shm().">m_app_shm</a>, via assignment at most once via <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#ad7b01ef2b4a8c14b9960b8be8891375b" title="To be invoked at most once, sets the values returned by session_shm() and app_shm() to non-null value...">init_shm_arenas()</a>. </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00225">225</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a07f27fbd7064b50f859d5717fbf75c8e" name="a07f27fbd7064b50f859d5717fbf75c8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07f27fbd7064b50f859d5717fbf75c8e">&#9670;&nbsp;</a></span>S_SCOPE_ID_APP</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a63121e8fcdcf00a50ebb64836b69a761">scope_id_t</a> <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::S_SCOPE_ID_APP = 0x02</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Indicates <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#aa7c4c7d786124d3d147cbbe40844d817" title="See shm::classic::Session_mv counterpart.">app_shm()</a>-&gt;construct()</code> was used. </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00197">197</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<a id="a23f2bf8994ed861b90665f967a51e7e6" name="a23f2bf8994ed861b90665f967a51e7e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23f2bf8994ed861b90665f967a51e7e6">&#9670;&nbsp;</a></span>S_SCOPE_ID_SESSION</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a63121e8fcdcf00a50ebb64836b69a761">scope_id_t</a> <a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html">ipc::session::shm::classic::Session_impl</a>&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt;::S_SCOPE_ID_SESSION = 0x01</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Indicates <code><a class="el" href="classipc_1_1session_1_1shm_1_1classic_1_1Session__impl.html#a0bb9a7c360c4c55af64bfd84f1b365da" title="See shm::classic::Session_mv counterpart.">session_shm()</a>-&gt;construct()</code> was used. </p>

<p class="definition">Definition at line <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html#l00195">195</a> of file <a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>session/detail/shm/classic/<a class="el" href="session_2detail_2shm_2classic_2classic__fwd_8hpp_source.html">classic_fwd.hpp</a></li>
<li>session/detail/shm/classic/<a class="el" href="src_2ipc_2session_2detail_2shm_2classic_2session__impl_8hpp_source.html">session_impl.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 11 2025 20:02:26 for Flow-IPC by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>
